From 69721defc21e9704c39aec65dea9e2be4377cb1b Mon Sep 17 00:00:00 2001
From: Christopher Durham <cad97@cad97.com>
Date: Sat, 3 Sep 2022 16:47:12 -0500
Subject: [PATCH] Forbid mixing `System` with sytem allocator calls

---
 library/std/src/alloc.rs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/library/std/src/alloc.rs b/library/std/src/alloc.rs
index a05e0db3af716..61c1ff578b2ca 100644
--- a/library/std/src/alloc.rs
+++ b/library/std/src/alloc.rs
@@ -68,7 +68,10 @@ pub use alloc_crate::alloc::*;
 /// The default memory allocator provided by the operating system.
 ///
 /// This is based on `malloc` on Unix platforms and `HeapAlloc` on Windows,
-/// plus related functions.
+/// plus related functions. However, it is not valid to mix use of the backing
+/// system allocator with `System`, as this implementation may include extra
+/// work, such as to serve alignment requests greater than the alignment
+/// provided directly by the backing system allocator.
 ///
 /// This type implements the `GlobalAlloc` trait and Rust programs by default
 /// work as if they had this definition: