On Sunday, 20 October 2013 at 01:41:58 UTC, Agustin wrote:
I'm getting Assertion failure: 'thisval && thisval->op == TOKclassreference' on line 4067 in file 'interpret.c' when compiling this.

public class Component {
    ////////////////////////////////////////////////////////////
    /// Component's unique id.
    private hash_t id;
    ....
    ////////////////////////////////////////////////////////////
    /// \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);
    }
}

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

I'm getting Assertion failure: 'thisval && thisval->op ==
TOKclassreference' on line 4067 in file 'interpret.c' when
compiling this.

public class Component {
      ////////////////////////////////////////////////////////////
      /// Component's unique id.
      private hash_t id;
      ....
      ////////////////////////////////////////////////////////////
      /// \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);
}

Reply via email to