On Monday, 10 July 2017 at 19:11:37 UTC, Ali Çehreli wrote:
On 07/10/2017 11:46 AM, Jean-Louis Leroy wrote:
> Is there something special about ClassInfo that confuses?
Look at this
> example:
>
> struct Foo
> {
>
> }
>
> class Bar
> {
> }
>
> void main()
> {
>   Foo*[Bar] a;
>   auto aa = a.dup; // OK
>   Foo*[ClassInfo] b; // Error: static assert  "cannot call
> Foo*[TypeInfo_Class].dup because Foo* is not copyable"

I think you're hitting the same TypeInfo.init issue again. :/ This is the assert that fails inside object.dup:

    static assert(is(typeof({ V v = aa[K.init]; })),
"cannot call " ~ T.stringof ~ ".dup because " ~ V.stringof ~ " is not copyable");

Jean-Louis, a little more patience please. :) Hopefully this will be resolved with 2.075, which you should be able to test yourself already. (?) 2.075 is in its fourth beta release.

Ali

Howdy Ali ;-)

Aaaah...those rough edges you were talking about at CppNow?

FYI, having a lot of fun. See https://github.com/jll63/meth.d/blob/experiments/source/meth/examples/adventure.d

At the time being, I'm hijacking ClassInfo.deallocator. I hope it will live through the next iteration of D.

Reply via email to