D-Programming-Language/phobos — pull request #1852 by klickverbot (2014-01-13 02:37:21+00:00)
Title: Avoid calling a qualified constructor in Cycle.

This is actually invalid code, as typeof(this) == inout(this),
but Cycle has no inout constructor. This wasn't previously
detected, as the constructor was mistakenly flagged as creating
an unique object where qualifiers can be disregarded.

(The reference parameter is obviously leaked into the cycle
instance. To see why this cannot be allowed in the general case,
consider `int[1] r; immutable c = Cycle!(int[1])(r); r[0] = 42;`.)