about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2019-12-21 11:27:51 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2019-12-21 11:27:51 -0500
commit519fc84852d54cf30976a5ebfbb900d6f8a96756 (patch)
tree91b85ee7ced00919ff77150ae695876d5c6758cd /src
parentc64eecf4d0907095928fb36fd3a1dd5fb2d9ff06 (diff)
downloadrust-519fc84852d54cf30976a5ebfbb900d6f8a96756.tar.gz
rust-519fc84852d54cf30976a5ebfbb900d6f8a96756.zip
Document privacy of RangeInclusive fields
Diffstat (limited to 'src')
-rw-r--r--src/libcore/ops/range.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libcore/ops/range.rs b/src/libcore/ops/range.rs
index be6d8edb99f..d38b3516569 100644
--- a/src/libcore/ops/range.rs
+++ b/src/libcore/ops/range.rs
@@ -333,6 +333,11 @@ impl<Idx: PartialOrd<Idx>> RangeTo<Idx> {
 #[derive(Clone)] // not Copy -- see #27186
 #[stable(feature = "inclusive_range", since = "1.26.0")]
 pub struct RangeInclusive<Idx> {
+    // Note that the fields here are not public to allow changing the
+    // representation in the future; in particular, while we could plausibly
+    // expose start/end, modifying them without changing (future/current)
+    // private fields may lead to incorrect behavior, so we don't want to
+    // support that mode.
     pub(crate) start: Idx,
     pub(crate) end: Idx,
     pub(crate) is_empty: Option<bool>,