Clarify what the effects of a 'logic error' are
This commit is contained in:
parent
0cd459fd62
commit
78d919280d
@ -161,7 +161,10 @@ use super::SpecExtend;
|
||||
/// It is a logic error for an item to be modified in such a way that the
|
||||
/// item's ordering relative to any other item, as determined by the `Ord`
|
||||
/// trait, changes while it is in the heap. This is normally only possible
|
||||
/// through `Cell`, `RefCell`, global state, I/O, or unsafe code.
|
||||
/// through `Cell`, `RefCell`, global state, I/O, or unsafe code. The
|
||||
/// behavior resulting from such a logic error is not specified, but will
|
||||
/// not result in undefined behavior. This could include panics, incorrect
|
||||
/// results, aborts, memory leaks, and non-termination.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
|
@ -51,6 +51,9 @@ pub(super) const MIN_LEN: usize = node::MIN_LEN_AFTER_SPLIT;
|
||||
/// It is a logic error for a key to be modified in such a way that the key's ordering relative to
|
||||
/// any other key, as determined by the [`Ord`] trait, changes while it is in the map. This is
|
||||
/// normally only possible through [`Cell`], [`RefCell`], global state, I/O, or unsafe code.
|
||||
/// The behavior resulting from such a logic error is not specified, but will not result in
|
||||
/// undefined behavior. This could include panics, incorrect results, aborts, memory leaks, and
|
||||
/// non-termination.
|
||||
///
|
||||
/// [`Cell`]: core::cell::Cell
|
||||
/// [`RefCell`]: core::cell::RefCell
|
||||
|
@ -22,6 +22,9 @@ use super::Recover;
|
||||
/// It is a logic error for an item to be modified in such a way that the item's ordering relative
|
||||
/// to any other item, as determined by the [`Ord`] trait, changes while it is in the set. This is
|
||||
/// normally only possible through [`Cell`], [`RefCell`], global state, I/O, or unsafe code.
|
||||
/// The behavior resulting from such a logic error is not specified, but will not result in
|
||||
/// undefined behavior. This could include panics, incorrect results, aborts, memory leaks, and
|
||||
/// non-termination.
|
||||
///
|
||||
/// [`Ord`]: core::cmp::Ord
|
||||
/// [`Cell`]: core::cell::Cell
|
||||
|
@ -52,6 +52,9 @@ use crate::sys;
|
||||
/// hash, as determined by the [`Hash`] trait, or its equality, as determined by
|
||||
/// the [`Eq`] trait, changes while it is in the map. This is normally only
|
||||
/// possible through [`Cell`], [`RefCell`], global state, I/O, or unsafe code.
|
||||
/// The behavior resulting from such a logic error is not specified, but will
|
||||
/// not result in undefined behavior. This could include panics, incorrect results,
|
||||
/// aborts, memory leaks, and non-termination.
|
||||
///
|
||||
/// The hash table implementation is a Rust port of Google's [SwissTable].
|
||||
/// The original C++ version of SwissTable can be found [here], and this
|
||||
|
@ -37,7 +37,9 @@ use super::map::{map_try_reserve_error, RandomState};
|
||||
/// item's hash, as determined by the [`Hash`] trait, or its equality, as
|
||||
/// determined by the [`Eq`] trait, changes while it is in the set. This is
|
||||
/// normally only possible through [`Cell`], [`RefCell`], global state, I/O, or
|
||||
/// unsafe code.
|
||||
/// unsafe code. The behavior resulting from such a logic error is not
|
||||
/// specified, but will not result in undefined behavior. This could include
|
||||
/// panics, incorrect results, aborts, memory leaks, and non-termination.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
|
Loading…
x
Reference in New Issue
Block a user