Comment #0 by n8sh.secondary — 2018-08-14T11:03:07Z
The behavior is described in https://issues.dlang.org/show_bug.cgi?id=7067. Since the `rng` parameter is `auto ref` this behavior is not obvious merely from the function signature, so at the very least this quirk should be mentioned in the documentation.
Comment #1 by greensunny12 — 2018-08-15T13:22:08Z
Better ways:
- split in two overloads and deprecate the by value one
- fix random ranges in general by making them non-copyable (like suggested in #7067)
However, the latter is a lot of work and it might be easier to just submit a version of mir.random as std.experimental.random and to fully replace std.random (there has been some talk about doing this, but it never materialized.)
Comment #2 by robert.schadek — 2024-12-01T16:34:05Z