Sorry if this is a stupid question, but is there something special required to call Appender.clear? When I attempt even just a simple use I am getting compile errors relating to `template object.clear`.

When I try:

    import std.array;

    void main(string[] args){
      auto foo = appender!string;
      foo.clear;
    }

I receive the following output:

    $ ldc2 source/tmp.d
source/tmp.d(5): Error: template object.clear cannot deduce function from argument types !()(Appender!string), candidates are: /usr/local/include/d/ldc/object.d(2041): object.clear(T : Value[Key], Value, Key)(T aa) /usr/local/include/d/ldc/object.d(2046): object.clear(T : Value[Key], Value, Key)(T* aa)

    $ dmd source/tmp.d
source/tmp.d(5): Error: template object.clear cannot deduce function from argument types !()(Appender!string), candidates are: /usr/include/dmd/druntime/import/object.d(1983): object.clear(T : Value[Key], Value, Key)(T aa) /usr/include/dmd/druntime/import/object.d(1988): object.clear(T : Value[Key], Value, Key)(T* aa)


versions:

    $ dmd --version
    DMD64 D Compiler v2.078.0
Copyright (c) 1999-2017 by The D Language Foundation written by Walter Bright

    $ ldc2 --version
    LDC - the LLVM D compiler (1.8.0git-921bb7f):
      based on DMD v2.078.3 and LLVM 4.0.1
      built with DMD64 D Compiler v2.078.0


Is there something I am missing here?

Thanks

Reply via email to