about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/array.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libcore/array.rs b/src/libcore/array.rs
index 976689beccd..c986914440d 100644
--- a/src/libcore/array.rs
+++ b/src/libcore/array.rs
@@ -35,6 +35,15 @@ use slice::{Iter, IterMut, SliceExt};
 ///
 /// This trait can be used to implement other traits on fixed-size arrays
 /// without causing much metadata bloat.
+///
+/// The trait is marked unsafe in order to restrict implementors to fixed-size
+/// arrays. User of this trait can assume that implementors have the exact
+/// layout in memory of a fixed size array (for example, for unsafe
+/// initialization).
+///
+/// Note that the traits AsRef and AsMut provide similar methods for types that
+/// may not be fixed-size arrays. Implementors should prefer those traits
+/// instead.
 pub unsafe trait FixedSizeArray<T> {
     /// Converts the array to immutable slice
     fn as_slice(&self) -> &[T];