On Sunday, 15 May 2016 at 11:15:38 UTC, Joseph Rushton Wakeling wrote:
On Sunday, 15 May 2016 at 10:43:55 UTC, Joseph Rushton Wakeling wrote:
Probably the best way to handle this is to handle the take-the-address side of things by a @trusted wrapper that uses `return ref` to guarantee the pointer remains valid for the lifetime of the wrapper itself.

Note, I've been mulling over this myself for a while, so I'll probably put something together in a future dxorshift release (and probably try to get it in Phobos ASAP, as it will be very helpful in avoiding the worst cases of the existing RNG functionality).

Wrapper implemented here, together with documentation and tests:
https://github.com/WebDrake/dxorshift/pull/1

N.B. I'm sticking with the explicit wrapper, because I want to be really, really certain that what comes out is an input range whose underling RNG can _never_ be copied by value.
  • Re: dxorshift: random n... Basile B. via Digitalmars-d-announce
    • Re: dxorshift: ran... Joseph Rushton Wakeling via Digitalmars-d-announce
      • Re: dxorshift:... Joseph Rushton Wakeling via Digitalmars-d-announce
        • Re: dxorsh... Joseph Rushton Wakeling via Digitalmars-d-announce
          • Re: dx... Basile B. via Digitalmars-d-announce
            • R... Joseph Rushton Wakeling via Digitalmars-d-announce
              • ... Basile B. via Digitalmars-d-announce
              • ... Joseph Rushton Wakeling via Digitalmars-d-announce
              • ... Joseph Rushton Wakeling via Digitalmars-d-announce
              • ... ag0aep6g via Digitalmars-d-announce
        • Re: dxorsh... Joseph Rushton Wakeling via Digitalmars-d-announce
          • Re: dx... jmh530 via Digitalmars-d-announce
            • R... Kagamin via Digitalmars-d-announce
            • R... Joseph Rushton Wakeling via Digitalmars-d-announce

Reply via email to