Bug 19168 – std.random.randomCover and randomSample should warn that struct RNGs are copied (original is not updated)

Status
NEW
Severity
normal
Priority
P3
Component
phobos
Product
D
Version
D2
Platform
All
OS
All
Creation time
2018-08-14T11:03:07Z
Last change time
2024-12-01T16:34:05Z
Assigned to
No Owner
Creator
Nathan S.
See also
https://issues.dlang.org/show_bug.cgi?id=7067
Moved to GitHub: phobos#10347 →

Comments

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
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/phobos/issues/10347 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB