Struct rand::rngs::ThreadRng[][src]

pub struct ThreadRng { /* fields omitted */ }

A reference to the thread-local generator

An instance can be obtained via thread_rng or via ThreadRng::default(). This handle is safe to use everywhere (including thread-local destructors) but cannot be passed between threads (is not Send or Sync).

ThreadRng uses the same PRNG as StdRng for security and performance and is automatically seeded from OsRng.

Unlike StdRng, ThreadRng uses the ReseedingRng wrapper to reseed the PRNG from fresh entropy every 64 kiB of random data as well as after a fork on Unix (though not quite immediately; see documentation of ReseedingRng). Note that the reseeding is done as an extra precaution against side-channel attacks and mis-use (e.g. if somehow weak entropy were supplied initially). The PRNG algorithms used are assumed to be secure.

Trait Implementations

impl Clone for ThreadRng[src]

impl CryptoRng for ThreadRng[src]

impl Debug for ThreadRng[src]

impl Default for ThreadRng[src]

impl RngCore for ThreadRng[src]

Auto Trait Implementations

impl !RefUnwindSafe for ThreadRng

impl !Send for ThreadRng

impl !Sync for ThreadRng

impl Unpin for ThreadRng

impl !UnwindSafe for ThreadRng

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]