diff --git a/src/libstd/rand/os.rs b/src/libstd/rand/os.rs index c0eebe135c3c..c1e426602694 100644 --- a/src/libstd/rand/os.rs +++ b/src/libstd/rand/os.rs @@ -187,7 +187,10 @@ mod imp { /// - iOS: calls SecRandomCopyBytes as /dev/(u)random is sandboxed /// This does not block. #[allow(missing_copy_implementations)] - pub struct OsRng; + pub struct OsRng { + // dummy field to ensure that this struct cannot be constructed outside of this module + _dummy: (), + } #[repr(C)] struct SecRandom; @@ -204,7 +207,7 @@ mod imp { impl OsRng { /// Create a new `OsRng`. pub fn new() -> IoResult { - Ok(OsRng) + Ok(OsRng { _dummy: () }) } }