diff --git a/library/std/src/prelude/common.rs b/library/std/src/prelude/common.rs
index f61e04e02b666..f2b9993b55af5 100644
--- a/library/std/src/prelude/common.rs
+++ b/library/std/src/prelude/common.rs
@@ -14,6 +14,9 @@ pub use crate::ops::{Drop, Fn, FnMut, FnOnce};
#[stable(feature = "rust1", since = "1.0.0")]
#[doc(no_inline)]
pub use crate::mem::drop;
+#[stable(feature = "size_of_prelude", since = "CURRENT_RUSTC_VERSION")]
+#[doc(no_inline)]
+pub use crate::mem::{size_of, size_of_val};
// Re-exported types and traits
#[stable(feature = "rust1", since = "1.0.0")]
diff --git a/library/std/src/prelude/mod.rs b/library/std/src/prelude/mod.rs
index 0bdbab716adb4..550706ef34440 100644
--- a/library/std/src/prelude/mod.rs
+++ b/library/std/src/prelude/mod.rs
@@ -36,6 +36,8 @@
//! operations for both destructors and overloading `()`.
//! * [std::mem]::[drop]
, a convenience function for explicitly
//! dropping a value.
+//! * [std::mem]::{[size_of], [size_of_val]}
, to get the size of
+//! a type or value.
//! * [std::boxed]::[Box]
, a way to allocate values on the heap.
//! * [std::borrow]::[ToOwned]
, the conversion trait that defines
//! [`to_owned`], the generic method for creating an owned type from a