Thread overview
std.typecons.Proxy requires a nothrow destructor and toHash?
Feb 03, 2016
Saurabh Das
Feb 03, 2016
Marc Schütz
Feb 03, 2016
Saurabh Das
February 03, 2016
struct A
{
    import std.stdio;
    File f;
}

struct B
{
    A a;

    import std.typecons;
    mixin Proxy!a;
}

rdmd proxytest.d:
/Library/D/dmd/src/phobos/std/typecons.d(5055): Error: 'proxytest.A.~this' is not nothrow
/Library/D/dmd/src/phobos/std/typecons.d(5050): Error: function 'proxytest.B.Proxy!(a).toHash' is nothrow yet may throw
Failed: ["dmd", "-v", "-o-", "proxytest.d", "-I."]

Why doesn't this work? Is it a requirement that a proxied struct must have a nothrow destructor and toHash?

February 03, 2016
On Wednesday, 3 February 2016 at 10:16:56 UTC, Saurabh Das wrote:
> Why doesn't this work? Is it a requirement that a proxied struct must have a nothrow destructor and toHash?

It used to work in 2.066.1; bisecting points to this PR:
https://github.com/D-Programming-Language/phobos/pull/3043

When bisecting between 2.066 and 2.067, there are other candidates:
https://github.com/D-Programming-Language/phobos/pull/3042
https://github.com/D-Programming-Language/dmd/pull/4459
https://github.com/D-Programming-Language/druntime/pull/1188

Unlikely:
https://github.com/D-Programming-Language/phobos/pull/3001
https://github.com/D-Programming-Language/phobos/pull/3043
https://github.com/D-Programming-Language/dmd/pull/4452
https://github.com/D-Programming-Language/dmd/pull/4463

Please file a bug report at:
https://issues.dlang.org/enter_bug.cgi
February 03, 2016
On Wednesday, 3 February 2016 at 12:10:01 UTC, Marc Schütz wrote:
> On Wednesday, 3 February 2016 at 10:16:56 UTC, Saurabh Das wrote:
>> [...]
>
> It used to work in 2.066.1; bisecting points to this PR:
> https://github.com/D-Programming-Language/phobos/pull/3043
>
> When bisecting between 2.066 and 2.067, there are other candidates:
> https://github.com/D-Programming-Language/phobos/pull/3042
> https://github.com/D-Programming-Language/dmd/pull/4459
> https://github.com/D-Programming-Language/druntime/pull/1188
>
> Unlikely:
> https://github.com/D-Programming-Language/phobos/pull/3001
> https://github.com/D-Programming-Language/phobos/pull/3043
> https://github.com/D-Programming-Language/dmd/pull/4452
> https://github.com/D-Programming-Language/dmd/pull/4463
>
> Please file a bug report at:
> https://issues.dlang.org/enter_bug.cgi

Oh, okay. Thanks!

Bug report filed: https://issues.dlang.org/show_bug.cgi?id=15641