February 28, 2014
I believe I found a good solution to Issue 3882:
https://d.puremagic.com/issues/show_bug.cgi?id=3882

It works as expected and I found two bugs in my code with it.

My current solution is to add the following at line 147 in
dmd/src/sideeffect.c:

      case TOKcall:
            /* Issue 3882: Don't complain about calling functions
with no effect,
             * because purity and nothrow are inferred, and
because some of the
             * runtime library depends on it. Needs more
investigation.
             */
            if (global.params.warnings && !global.gag)
            {
                if (e->type->ty == Tvoid)
                {
                    /* TODO: Restrict this message to call
hierarchies that
                     * never call assert (and or not called from
inside
                     * unittest blocks) */
                    /* e->warning("Call %s with void return has
no effect", e->toChars()); */
                }
                else
                {
                    e->warning("Call %s with no effect discards
return value", e->toChars());
                }
            }
            return;

Does it suffice to just do a pull request referring to Issue 3882.

/Per
February 28, 2014
On Friday, 28 February 2014 at 10:38:39 UTC, Nordlöw wrote:
> I believe I found a good solution to Issue 3882:
> https://d.puremagic.com/issues/show_bug.cgi?id=3882
>
> It works as expected and I found two bugs in my code with it.
>
> My current solution is to add the following at line 147 in
> dmd/src/sideeffect.c:
>
>       case TOKcall:
>             /* Issue 3882: Don't complain about calling functions
> with no effect,
>              * because purity and nothrow are inferred, and
> because some of the
>              * runtime library depends on it. Needs more
> investigation.
>              */
>             if (global.params.warnings && !global.gag)
>             {
>                 if (e->type->ty == Tvoid)
>                 {
>                     /* TODO: Restrict this message to call
> hierarchies that
>                      * never call assert (and or not called from
> inside
>                      * unittest blocks) */
>                     /* e->warning("Call %s with void return has
> no effect", e->toChars()); */
>                 }
>                 else
>                 {
>                     e->warning("Call %s with no effect discards
> return value", e->toChars());
>                 }
>             }
>             return;
>
> Does it suffice to just do a pull request referring to Issue 3882.
>
> /Per

I can't comment on the validity of your solution, but yes: the procedure is to just create a pull request referencing the bugzilla report.