Auto merge of #87445 - amalik18:issue-83584-fix, r=kennytm

Fix may not to appropriate might not or must not

I went through and changed occurrences of `may not` to be more explicit with `might not` and `must not`.
This commit is contained in:
bors 2021-07-30 04:34:13 +00:00
commit fe1c942eee
49 changed files with 96 additions and 96 deletions

View File

@ -36,7 +36,7 @@ fn bench_peek_mut_deref_mut(b: &mut Bencher) {
let mut peek_mut = bheap.peek_mut().unwrap(); let mut peek_mut = bheap.peek_mut().unwrap();
// The compiler shouldn't be able to optimize away the `sift_down` // The compiler shouldn't be able to optimize away the `sift_down`
// assignment in `PeekMut`'s `DerefMut` implementation since // assignment in `PeekMut`'s `DerefMut` implementation since
// the loop may not run. // the loop might not run.
for &i in vec.iter() { for &i in vec.iter() {
*peek_mut = i; *peek_mut = i;
} }

View File

@ -409,7 +409,7 @@ impl<K, V> NodeRef<marker::Dying, K, V, marker::LeafOrInternal> {
impl<'a, K, V, Type> NodeRef<marker::Mut<'a>, K, V, Type> { impl<'a, K, V, Type> NodeRef<marker::Mut<'a>, K, V, Type> {
/// Temporarily takes out another mutable reference to the same node. Beware, as /// Temporarily takes out another mutable reference to the same node. Beware, as
/// this method is very dangerous, doubly so since it may not immediately appear /// this method is very dangerous, doubly so since it might not immediately appear
/// dangerous. /// dangerous.
/// ///
/// Because mutable pointers can roam anywhere around the tree, the returned /// Because mutable pointers can roam anywhere around the tree, the returned
@ -777,7 +777,7 @@ impl<BorrowType, K, V, NodeType, HandleType>
impl<'a, K, V, NodeType, HandleType> Handle<NodeRef<marker::Mut<'a>, K, V, NodeType>, HandleType> { impl<'a, K, V, NodeType, HandleType> Handle<NodeRef<marker::Mut<'a>, K, V, NodeType>, HandleType> {
/// Temporarily takes out another mutable handle on the same location. Beware, as /// Temporarily takes out another mutable handle on the same location. Beware, as
/// this method is very dangerous, doubly so since it may not immediately appear /// this method is very dangerous, doubly so since it might not immediately appear
/// dangerous. /// dangerous.
/// ///
/// For details, see `NodeRef::reborrow_mut`. /// For details, see `NodeRef::reborrow_mut`.

View File

@ -138,7 +138,7 @@
//! the `0` flag (see below) is specified for numerics, then the implicit fill character is //! the `0` flag (see below) is specified for numerics, then the implicit fill character is
//! `0`. //! `0`.
//! //!
//! Note that alignment may not be implemented by some types. In particular, it //! Note that alignment might not be implemented by some types. In particular, it
//! is not generally implemented for the `Debug` trait. A good way to ensure //! is not generally implemented for the `Debug` trait. A good way to ensure
//! padding is applied is to format your input, then pad this resulting string //! padding is applied is to format your input, then pad this resulting string
//! to obtain your output: //! to obtain your output:
@ -300,7 +300,7 @@
//! count := parameter | integer //! count := parameter | integer
//! parameter := argument '$' //! parameter := argument '$'
//! ``` //! ```
//! In the above grammar, `text` may not contain any `'{'` or `'}'` characters. //! In the above grammar, `text` must not contain any `'{'` or `'}'` characters.
//! //!
//! # Formatting traits //! # Formatting traits
//! //!

View File

@ -2526,7 +2526,7 @@ unsafe fn data_offset<T: ?Sized>(ptr: *const T) -> isize {
// SAFETY: since the only unsized types possible are slices, trait objects, // SAFETY: since the only unsized types possible are slices, trait objects,
// and extern types, the input safety requirement is currently enough to // and extern types, the input safety requirement is currently enough to
// satisfy the requirements of align_of_val_raw; this is an implementation // satisfy the requirements of align_of_val_raw; this is an implementation
// detail of the language that may not be relied upon outside of std. // detail of the language that must not be relied upon outside of std.
unsafe { data_offset_align(align_of_val_raw(ptr)) } unsafe { data_offset_align(align_of_val_raw(ptr)) }
} }

View File

@ -921,7 +921,7 @@ impl String {
/// assert!(s.capacity() >= 10); /// assert!(s.capacity() >= 10);
/// ``` /// ```
/// ///
/// This may not actually increase the capacity: /// This might not actually increase the capacity:
/// ///
/// ``` /// ```
/// let mut s = String::with_capacity(10); /// let mut s = String::with_capacity(10);
@ -969,7 +969,7 @@ impl String {
/// assert!(s.capacity() >= 10); /// assert!(s.capacity() >= 10);
/// ``` /// ```
/// ///
/// This may not actually increase the capacity: /// This might not actually increase the capacity:
/// ///
/// ``` /// ```
/// let mut s = String::with_capacity(10); /// let mut s = String::with_capacity(10);
@ -1517,7 +1517,7 @@ impl String {
} }
/// Returns the length of this `String`, in bytes, not [`char`]s or /// Returns the length of this `String`, in bytes, not [`char`]s or
/// graphemes. In other words, it may not be what a human considers the /// graphemes. In other words, it might not be what a human considers the
/// length of the string. /// length of the string.
/// ///
/// # Examples /// # Examples

View File

@ -1056,8 +1056,8 @@ impl<T: ?Sized> Arc<T> {
// Non-inlined part of `drop`. // Non-inlined part of `drop`.
#[inline(never)] #[inline(never)]
unsafe fn drop_slow(&mut self) { unsafe fn drop_slow(&mut self) {
// Destroy the data at this time, even though we may not free the box // Destroy the data at this time, even though we must not free the box
// allocation itself (there may still be weak pointers lying around). // allocation itself (there might still be weak pointers lying around).
unsafe { ptr::drop_in_place(Self::get_mut_unchecked(self)) }; unsafe { ptr::drop_in_place(Self::get_mut_unchecked(self)) };
// Drop the weak ref collectively held by all strong references // Drop the weak ref collectively held by all strong references
@ -2587,7 +2587,7 @@ unsafe fn data_offset<T: ?Sized>(ptr: *const T) -> isize {
// SAFETY: since the only unsized types possible are slices, trait objects, // SAFETY: since the only unsized types possible are slices, trait objects,
// and extern types, the input safety requirement is currently enough to // and extern types, the input safety requirement is currently enough to
// satisfy the requirements of align_of_val_raw; this is an implementation // satisfy the requirements of align_of_val_raw; this is an implementation
// detail of the language that may not be relied upon outside of std. // detail of the language that must not be relied upon outside of std.
unsafe { data_offset_align(align_of_val_raw(ptr)) } unsafe { data_offset_align(align_of_val_raw(ptr)) }
} }

View File

@ -2229,7 +2229,7 @@ impl<T, A: Allocator> Vec<T, A> {
unsafe { unsafe {
let mut ptr = self.as_mut_ptr().add(self.len()); let mut ptr = self.as_mut_ptr().add(self.len());
// Use SetLenOnDrop to work around bug where compiler // Use SetLenOnDrop to work around bug where compiler
// may not realize the store through `ptr` through self.set_len() // might not realize the store through `ptr` through self.set_len()
// don't alias. // don't alias.
let mut local_len = SetLenOnDrop::new(&mut self.len); let mut local_len = SetLenOnDrop::new(&mut self.len);

View File

@ -56,7 +56,7 @@ where
let src = unsafe { iterator.as_inner().as_into_iter() }; let src = unsafe { iterator.as_inner().as_into_iter() };
// check if SourceIter contract was upheld // check if SourceIter contract was upheld
// caveat: if they weren't we may not even make it to this point // caveat: if they weren't we might not even make it to this point
debug_assert_eq!(src_buf, src.buf.as_ptr()); debug_assert_eq!(src_buf, src.buf.as_ptr());
// check InPlaceIterable contract. This is only possible if the iterator advanced the // check InPlaceIterable contract. This is only possible if the iterator advanced the
// source pointer at all. If it uses unchecked access via TrustedRandomAccess // source pointer at all. If it uses unchecked access via TrustedRandomAccess

View File

@ -408,7 +408,7 @@ fn test_retain() {
// old binaryheap failed this test // old binaryheap failed this test
// //
// Integrity means that all elements are present after a comparison panics, // Integrity means that all elements are present after a comparison panics,
// even if the order may not be correct. // even if the order might not be correct.
// //
// Destructors must be called exactly once per element. // Destructors must be called exactly once per element.
// FIXME: re-enable emscripten once it can unwind again // FIXME: re-enable emscripten once it can unwind again

View File

@ -99,7 +99,7 @@ use crate::ptr;
/// this trait are allowed to rely on the contracts defined on each method, /// this trait are allowed to rely on the contracts defined on each method,
/// and implementors must ensure such contracts remain true. /// and implementors must ensure such contracts remain true.
/// ///
/// * You may not rely on allocations actually happening, even if there are explicit /// * You must not rely on allocations actually happening, even if there are explicit
/// heap allocations in the source. The optimizer may detect unused allocations that it can either /// heap allocations in the source. The optimizer may detect unused allocations that it can either
/// eliminate entirely or move to the stack and thus never invoke the allocator. The /// eliminate entirely or move to the stack and thus never invoke the allocator. The
/// optimizer may further assume that allocation is infallible, so code that used to fail due /// optimizer may further assume that allocation is infallible, so code that used to fail due

View File

@ -7,7 +7,7 @@ use crate::task::{Context, Poll};
/// A future represents an asynchronous computation. /// A future represents an asynchronous computation.
/// ///
/// A future is a value that may not have finished computing yet. This kind of /// A future is a value that might not have finished computing yet. This kind of
/// "asynchronous value" makes it possible for a thread to continue doing useful /// "asynchronous value" makes it possible for a thread to continue doing useful
/// work while it waits for the value to become available. /// work while it waits for the value to become available.
/// ///

View File

@ -336,7 +336,7 @@
//! This will print the numbers `0` through `4`, each on their own line. //! This will print the numbers `0` through `4`, each on their own line.
//! //!
//! Bear in mind that methods on infinite iterators, even those for which a //! Bear in mind that methods on infinite iterators, even those for which a
//! result can be determined mathematically in finite time, may not terminate. //! result can be determined mathematically in finite time, might not terminate.
//! Specifically, methods such as [`min`], which in the general case require //! Specifically, methods such as [`min`], which in the general case require
//! traversing every element in the iterator, are likely not to return //! traversing every element in the iterator, are likely not to return
//! successfully for any infinite iterators. //! successfully for any infinite iterators.

View File

@ -277,7 +277,7 @@ macro_rules! step_integer_impls {
// //
// Casting to isize extends the width but preserves the sign. // Casting to isize extends the width but preserves the sign.
// Use wrapping_sub in isize space and cast to usize to compute // Use wrapping_sub in isize space and cast to usize to compute
// the difference that may not fit inside the range of isize. // the difference that might not fit inside the range of isize.
Some((*end as isize).wrapping_sub(*start as isize) as usize) Some((*end as isize).wrapping_sub(*start as isize) as usize)
} else { } else {
None None

View File

@ -2078,7 +2078,7 @@ pub trait Iterator {
/// to produce a single value from it. /// to produce a single value from it.
/// ///
/// Note: `fold()`, and similar methods that traverse the entire iterator, /// Note: `fold()`, and similar methods that traverse the entire iterator,
/// may not terminate for infinite iterators, even on traits for which a /// might not terminate for infinite iterators, even on traits for which a
/// result is determinable in finite time. /// result is determinable in finite time.
/// ///
/// Note: [`reduce()`] can be used to use the first element as the initial /// Note: [`reduce()`] can be used to use the first element as the initial

View File

@ -941,7 +941,7 @@ pub fn drop<T>(_x: T) {}
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[rustc_const_unstable(feature = "const_transmute_copy", issue = "83165")] #[rustc_const_unstable(feature = "const_transmute_copy", issue = "83165")]
pub const unsafe fn transmute_copy<T, U>(src: &T) -> U { pub const unsafe fn transmute_copy<T, U>(src: &T) -> U {
// If U has a higher alignment requirement, src may not be suitably aligned. // If U has a higher alignment requirement, src might not be suitably aligned.
if align_of::<U>() > align_of::<T>() { if align_of::<U>() > align_of::<T>() {
// SAFETY: `src` is a reference which is guaranteed to be valid for reads. // SAFETY: `src` is a reference which is guaranteed to be valid for reads.
// The caller must guarantee that the actual transmutation is safe. // The caller must guarantee that the actual transmutation is safe.

View File

@ -1748,7 +1748,7 @@ macro_rules! int_impl {
/// Returns the logarithm of the number with respect to an arbitrary base. /// Returns the logarithm of the number with respect to an arbitrary base.
/// ///
/// This method may not be optimized owing to implementation details; /// This method might not be optimized owing to implementation details;
/// `log2` can produce results more efficiently for base 2, and `log10` /// `log2` can produce results more efficiently for base 2, and `log10`
/// can produce results more efficiently for base 10. /// can produce results more efficiently for base 10.
/// ///
@ -1856,7 +1856,7 @@ macro_rules! int_impl {
/// ///
/// Returns `None` if the number is negative or zero, or if the base is not at least 2. /// Returns `None` if the number is negative or zero, or if the base is not at least 2.
/// ///
/// This method may not be optimized owing to implementation details; /// This method might not be optimized owing to implementation details;
/// `checked_log2` can produce results more efficiently for base 2, and /// `checked_log2` can produce results more efficiently for base 2, and
/// `checked_log10` can produce results more efficiently for base 10. /// `checked_log10` can produce results more efficiently for base 10.
/// ///

View File

@ -637,7 +637,7 @@ macro_rules! uint_impl {
/// Returns the logarithm of the number with respect to an arbitrary base. /// Returns the logarithm of the number with respect to an arbitrary base.
/// ///
/// This method may not be optimized owing to implementation details; /// This method might not be optimized owing to implementation details;
/// `log2` can produce results more efficiently for base 2, and `log10` /// `log2` can produce results more efficiently for base 2, and `log10`
/// can produce results more efficiently for base 10. /// can produce results more efficiently for base 10.
/// ///
@ -745,7 +745,7 @@ macro_rules! uint_impl {
/// ///
/// Returns `None` if the number is zero, or if the base is not at least 2. /// Returns `None` if the number is zero, or if the base is not at least 2.
/// ///
/// This method may not be optimized owing to implementation details; /// This method might not be optimized owing to implementation details;
/// `checked_log2` can produce results more efficiently for base 2, and /// `checked_log2` can produce results more efficiently for base 2, and
/// `checked_log10` can produce results more efficiently for base 10. /// `checked_log10` can produce results more efficiently for base 10.
/// ///

View File

@ -319,7 +319,7 @@ pub trait FromResidual<R = <Self as Try>::Residual> {
/// This should be implemented consistently with the `branch` method such /// This should be implemented consistently with the `branch` method such
/// that applying the `?` operator will get back an equivalent residual: /// that applying the `?` operator will get back an equivalent residual:
/// `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`. /// `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`.
/// (It may not be an *identical* residual when interconversion is involved.) /// (It must not be an *identical* residual when interconversion is involved.)
/// ///
/// # Examples /// # Examples
/// ///

View File

@ -159,9 +159,9 @@
//! section needs to function correctly. //! section needs to function correctly.
//! //!
//! Notice that this guarantee does *not* mean that memory does not leak! It is still //! Notice that this guarantee does *not* mean that memory does not leak! It is still
//! completely okay not ever to call [`drop`] on a pinned element (e.g., you can still //! completely okay to not ever call [`drop`] on a pinned element (e.g., you can still
//! call [`mem::forget`] on a <code>[Pin]<[Box]\<T>></code>). In the example of the doubly-linked //! call [`mem::forget`] on a <code>[Pin]<[Box]\<T>></code>). In the example of the doubly-linked
//! list, that element would just stay in the list. However you may not free or reuse the storage //! list, that element would just stay in the list. However you must not free or reuse the storage
//! *without calling [`drop`]*. //! *without calling [`drop`]*.
//! //!
//! # `Drop` implementation //! # `Drop` implementation

View File

@ -244,7 +244,7 @@ impl<T: ?Sized> *const T {
/// ///
/// This operation itself is always safe, but using the resulting pointer is not. /// This operation itself is always safe, but using the resulting pointer is not.
/// ///
/// The resulting pointer "remembers" the [allocated object] that `self` points to; it may not /// The resulting pointer "remembers" the [allocated object] that `self` points to; it must not
/// be used to read or write other allocated objects. /// be used to read or write other allocated objects.
/// ///
/// In other words, `let z = x.wrapping_offset((y as isize) - (x as isize))` does *not* make `z` /// In other words, `let z = x.wrapping_offset((y as isize) - (x as isize))` does *not* make `z`
@ -404,7 +404,7 @@ impl<T: ?Sized> *const T {
/// ///
/// [`guaranteed_ne`]: #method.guaranteed_ne /// [`guaranteed_ne`]: #method.guaranteed_ne
/// ///
/// The return value may change depending on the compiler version and unsafe code may not /// The return value may change depending on the compiler version and unsafe code might not
/// rely on the result of this function for soundness. It is suggested to only use this function /// rely on the result of this function for soundness. It is suggested to only use this function
/// for performance optimizations where spurious `false` return values by this function do not /// for performance optimizations where spurious `false` return values by this function do not
/// affect the outcome, but just the performance. /// affect the outcome, but just the performance.
@ -435,7 +435,7 @@ impl<T: ?Sized> *const T {
/// ///
/// [`guaranteed_eq`]: #method.guaranteed_eq /// [`guaranteed_eq`]: #method.guaranteed_eq
/// ///
/// The return value may change depending on the compiler version and unsafe code may not /// The return value may change depending on the compiler version and unsafe code might not
/// rely on the result of this function for soundness. It is suggested to only use this function /// rely on the result of this function for soundness. It is suggested to only use this function
/// for performance optimizations where spurious `false` return values by this function do not /// for performance optimizations where spurious `false` return values by this function do not
/// affect the outcome, but just the performance. /// affect the outcome, but just the performance.
@ -590,7 +590,7 @@ impl<T: ?Sized> *const T {
/// ///
/// This operation itself is always safe, but using the resulting pointer is not. /// This operation itself is always safe, but using the resulting pointer is not.
/// ///
/// The resulting pointer "remembers" the [allocated object] that `self` points to; it may not /// The resulting pointer "remembers" the [allocated object] that `self` points to; it must not
/// be used to read or write other allocated objects. /// be used to read or write other allocated objects.
/// ///
/// In other words, `let z = x.wrapping_add((y as usize) - (x as usize))` does *not* make `z` /// In other words, `let z = x.wrapping_add((y as usize) - (x as usize))` does *not* make `z`
@ -652,7 +652,7 @@ impl<T: ?Sized> *const T {
/// ///
/// This operation itself is always safe, but using the resulting pointer is not. /// This operation itself is always safe, but using the resulting pointer is not.
/// ///
/// The resulting pointer "remembers" the [allocated object] that `self` points to; it may not /// The resulting pointer "remembers" the [allocated object] that `self` points to; it must not
/// be used to read or write other allocated objects. /// be used to read or write other allocated objects.
/// ///
/// In other words, `let z = x.wrapping_sub((x as usize) - (y as usize))` does *not* make `z` /// In other words, `let z = x.wrapping_sub((x as usize) - (y as usize))` does *not* make `z`

View File

@ -250,7 +250,7 @@ impl<T: ?Sized> *mut T {
/// ///
/// This operation itself is always safe, but using the resulting pointer is not. /// This operation itself is always safe, but using the resulting pointer is not.
/// ///
/// The resulting pointer "remembers" the [allocated object] that `self` points to; it may not /// The resulting pointer "remembers" the [allocated object] that `self` points to; it must not
/// be used to read or write other allocated objects. /// be used to read or write other allocated objects.
/// ///
/// In other words, `let z = x.wrapping_offset((y as isize) - (x as isize))` does *not* make `z` /// In other words, `let z = x.wrapping_offset((y as isize) - (x as isize))` does *not* make `z`
@ -419,7 +419,7 @@ impl<T: ?Sized> *mut T {
/// ///
/// [`guaranteed_ne`]: #method.guaranteed_ne /// [`guaranteed_ne`]: #method.guaranteed_ne
/// ///
/// The return value may change depending on the compiler version and unsafe code may not /// The return value may change depending on the compiler version and unsafe code might not
/// rely on the result of this function for soundness. It is suggested to only use this function /// rely on the result of this function for soundness. It is suggested to only use this function
/// for performance optimizations where spurious `false` return values by this function do not /// for performance optimizations where spurious `false` return values by this function do not
/// affect the outcome, but just the performance. /// affect the outcome, but just the performance.
@ -450,7 +450,7 @@ impl<T: ?Sized> *mut T {
/// ///
/// [`guaranteed_eq`]: #method.guaranteed_eq /// [`guaranteed_eq`]: #method.guaranteed_eq
/// ///
/// The return value may change depending on the compiler version and unsafe code may not /// The return value may change depending on the compiler version and unsafe code might not
/// rely on the result of this function for soundness. It is suggested to only use this function /// rely on the result of this function for soundness. It is suggested to only use this function
/// for performance optimizations where spurious `false` return values by this function do not /// for performance optimizations where spurious `false` return values by this function do not
/// affect the outcome, but just the performance. /// affect the outcome, but just the performance.
@ -696,7 +696,7 @@ impl<T: ?Sized> *mut T {
/// ///
/// This operation itself is always safe, but using the resulting pointer is not. /// This operation itself is always safe, but using the resulting pointer is not.
/// ///
/// The resulting pointer "remembers" the [allocated object] that `self` points to; it may not /// The resulting pointer "remembers" the [allocated object] that `self` points to; it must not
/// be used to read or write other allocated objects. /// be used to read or write other allocated objects.
/// ///
/// In other words, `let z = x.wrapping_add((y as usize) - (x as usize))` does *not* make `z` /// In other words, `let z = x.wrapping_add((y as usize) - (x as usize))` does *not* make `z`
@ -758,7 +758,7 @@ impl<T: ?Sized> *mut T {
/// ///
/// This operation itself is always safe, but using the resulting pointer is not. /// This operation itself is always safe, but using the resulting pointer is not.
/// ///
/// The resulting pointer "remembers" the [allocated object] that `self` points to; it may not /// The resulting pointer "remembers" the [allocated object] that `self` points to; it must not
/// be used to read or write other allocated objects. /// be used to read or write other allocated objects.
/// ///
/// In other words, `let z = x.wrapping_sub((x as usize) - (y as usize))` does *not* make `z` /// In other words, `let z = x.wrapping_sub((x as usize) - (y as usize))` does *not* make `z`

View File

@ -2274,7 +2274,7 @@ impl<T> [T] {
self.binary_search_by(|k| f(k).cmp(b)) self.binary_search_by(|k| f(k).cmp(b))
} }
/// Sorts the slice, but may not preserve the order of equal elements. /// Sorts the slice, but might not preserve the order of equal elements.
/// ///
/// This sort is unstable (i.e., may reorder equal elements), in-place /// This sort is unstable (i.e., may reorder equal elements), in-place
/// (i.e., does not allocate), and *O*(*n* \* log(*n*)) worst-case. /// (i.e., does not allocate), and *O*(*n* \* log(*n*)) worst-case.
@ -2309,7 +2309,7 @@ impl<T> [T] {
sort::quicksort(self, |a, b| a.lt(b)); sort::quicksort(self, |a, b| a.lt(b));
} }
/// Sorts the slice with a comparator function, but may not preserve the order of equal /// Sorts the slice with a comparator function, but might not preserve the order of equal
/// elements. /// elements.
/// ///
/// This sort is unstable (i.e., may reorder equal elements), in-place /// This sort is unstable (i.e., may reorder equal elements), in-place
@ -2364,7 +2364,7 @@ impl<T> [T] {
sort::quicksort(self, |a, b| compare(a, b) == Ordering::Less); sort::quicksort(self, |a, b| compare(a, b) == Ordering::Less);
} }
/// Sorts the slice with a key extraction function, but may not preserve the order of equal /// Sorts the slice with a key extraction function, but might not preserve the order of equal
/// elements. /// elements.
/// ///
/// This sort is unstable (i.e., may reorder equal elements), in-place /// This sort is unstable (i.e., may reorder equal elements), in-place

View File

@ -123,7 +123,7 @@ impl str {
/// Returns the length of `self`. /// Returns the length of `self`.
/// ///
/// This length is in bytes, not [`char`]s or graphemes. In other words, /// This length is in bytes, not [`char`]s or graphemes. In other words,
/// it may not be what a human considers the length of the string. /// it might not be what a human considers the length of the string.
/// ///
/// [`char`]: prim@char /// [`char`]: prim@char
/// ///
@ -633,7 +633,7 @@ impl str {
/// string slice by [`char`]. This method returns such an iterator. /// string slice by [`char`]. This method returns such an iterator.
/// ///
/// It's important to remember that [`char`] represents a Unicode Scalar /// It's important to remember that [`char`] represents a Unicode Scalar
/// Value, and may not match your idea of what a 'character' is. Iteration /// Value, and might not match your idea of what a 'character' is. Iteration
/// over grapheme clusters may be what you actually want. This functionality /// over grapheme clusters may be what you actually want. This functionality
/// is not provided by Rust's standard library, check crates.io instead. /// is not provided by Rust's standard library, check crates.io instead.
/// ///
@ -660,7 +660,7 @@ impl str {
/// assert_eq!(None, chars.next()); /// assert_eq!(None, chars.next());
/// ``` /// ```
/// ///
/// Remember, [`char`]s may not match your intuition about characters: /// Remember, [`char`]s might not match your intuition about characters:
/// ///
/// [`char`]: prim@char /// [`char`]: prim@char
/// ///
@ -713,7 +713,7 @@ impl str {
/// assert_eq!(None, char_indices.next()); /// assert_eq!(None, char_indices.next());
/// ``` /// ```
/// ///
/// Remember, [`char`]s may not match your intuition about characters: /// Remember, [`char`]s might not match your intuition about characters:
/// ///
/// [`char`]: prim@char /// [`char`]: prim@char
/// ///

View File

@ -41,7 +41,7 @@
//! instructions to implement `AtomicI8`. Note that this emulation should not //! instructions to implement `AtomicI8`. Note that this emulation should not
//! have an impact on correctness of code, it's just something to be aware of. //! have an impact on correctness of code, it's just something to be aware of.
//! //!
//! The atomic types in this module may not be available on all platforms. The //! The atomic types in this module might not be available on all platforms. The
//! atomic types here are all widely available, however, and can generally be //! atomic types here are all widely available, however, and can generally be
//! relied upon existing. Some notable exceptions are: //! relied upon existing. Some notable exceptions are:
//! //!

View File

@ -7,7 +7,7 @@ const ANDROID_SET_ABORT_MESSAGE: &[u8] = b"android_set_abort_message\0";
type SetAbortMessageType = unsafe extern "C" fn(*const libc::c_char) -> (); type SetAbortMessageType = unsafe extern "C" fn(*const libc::c_char) -> ();
// Forward the abort message to libc's android_set_abort_message. We try our best to populate the // Forward the abort message to libc's android_set_abort_message. We try our best to populate the
// message but as this function may already be called as part of a failed allocation, it may not be // message but as this function may already be called as part of a failed allocation, it might not be
// possible to do so. // possible to do so.
// //
// Some methods of core are on purpose avoided (such as try_reserve) as these rely on the correct // Some methods of core are on purpose avoided (such as try_reserve) as these rely on the correct

View File

@ -386,7 +386,7 @@ fn run_client<A: for<'a, 's> DecodeMut<'a, 's, ()>, R: Encode<()>>(
// //
// Note that panics should be impossible beyond this point, but // Note that panics should be impossible beyond this point, but
// this is defensively trying to avoid any accidental panicking // this is defensively trying to avoid any accidental panicking
// reaching the `extern "C"` (which should `abort` but may not // reaching the `extern "C"` (which should `abort` but might not
// at the moment, so this is also potentially preventing UB). // at the moment, so this is also potentially preventing UB).
b.clear(); b.clear();
Ok::<_, ()>(output).encode(&mut b, &mut ()); Ok::<_, ()>(output).encode(&mut b, &mut ());

View File

@ -467,10 +467,10 @@ impl SourceFile {
/// ///
/// ### Note /// ### Note
/// If the code span associated with this `SourceFile` was generated by an external macro, this /// If the code span associated with this `SourceFile` was generated by an external macro, this
/// macro, this may not be an actual path on the filesystem. Use [`is_real`] to check. /// macro, this might not be an actual path on the filesystem. Use [`is_real`] to check.
/// ///
/// Also note that even if `is_real` returns `true`, if `--remap-path-prefix` was passed on /// Also note that even if `is_real` returns `true`, if `--remap-path-prefix` was passed on
/// the command line, the path as given may not actually be valid. /// the command line, the path as given might not actually be valid.
/// ///
/// [`is_real`]: Self::is_real /// [`is_real`]: Self::is_real
#[unstable(feature = "proc_macro_span", issue = "54725")] #[unstable(feature = "proc_macro_span", issue = "54725")]
@ -657,7 +657,7 @@ pub enum Delimiter {
/// An implicit delimiter, that may, for example, appear around tokens coming from a /// An implicit delimiter, that may, for example, appear around tokens coming from a
/// "macro variable" `$var`. It is important to preserve operator priorities in cases like /// "macro variable" `$var`. It is important to preserve operator priorities in cases like
/// `$var * 3` where `$var` is `1 + 2`. /// `$var * 3` where `$var` is `1 + 2`.
/// Implicit delimiters may not survive roundtrip of a token stream through a string. /// Implicit delimiters might not survive roundtrip of a token stream through a string.
#[stable(feature = "proc_macro_lib2", since = "1.29.0")] #[stable(feature = "proc_macro_lib2", since = "1.29.0")]
None, None,
} }
@ -973,7 +973,7 @@ macro_rules! suffixed_int_literals {
/// This function will create an integer like `1u32` where the integer /// This function will create an integer like `1u32` where the integer
/// value specified is the first part of the token and the integral is /// value specified is the first part of the token and the integral is
/// also suffixed at the end. /// also suffixed at the end.
/// Literals created from negative numbers may not survive round-trips through /// Literals created from negative numbers might not survive round-trips through
/// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal). /// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal).
/// ///
/// Literals created through this method have the `Span::call_site()` /// Literals created through this method have the `Span::call_site()`
@ -995,7 +995,7 @@ macro_rules! unsuffixed_int_literals {
/// specified on this token, meaning that invocations like /// specified on this token, meaning that invocations like
/// `Literal::i8_unsuffixed(1)` are equivalent to /// `Literal::i8_unsuffixed(1)` are equivalent to
/// `Literal::u32_unsuffixed(1)`. /// `Literal::u32_unsuffixed(1)`.
/// Literals created from negative numbers may not survive rountrips through /// Literals created from negative numbers might not survive rountrips through
/// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal). /// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal).
/// ///
/// Literals created through this method have the `Span::call_site()` /// Literals created through this method have the `Span::call_site()`
@ -1044,7 +1044,7 @@ impl Literal {
/// This constructor is similar to those like `Literal::i8_unsuffixed` where /// This constructor is similar to those like `Literal::i8_unsuffixed` where
/// the float's value is emitted directly into the token but no suffix is /// the float's value is emitted directly into the token but no suffix is
/// used, so it may be inferred to be a `f64` later in the compiler. /// used, so it may be inferred to be a `f64` later in the compiler.
/// Literals created from negative numbers may not survive rountrips through /// Literals created from negative numbers might not survive rountrips through
/// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal). /// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal).
/// ///
/// # Panics /// # Panics
@ -1065,7 +1065,7 @@ impl Literal {
/// specified is the preceding part of the token and `f32` is the suffix of /// specified is the preceding part of the token and `f32` is the suffix of
/// the token. This token will always be inferred to be an `f32` in the /// the token. This token will always be inferred to be an `f32` in the
/// compiler. /// compiler.
/// Literals created from negative numbers may not survive rountrips through /// Literals created from negative numbers might not survive rountrips through
/// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal). /// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal).
/// ///
/// # Panics /// # Panics
@ -1085,7 +1085,7 @@ impl Literal {
/// This constructor is similar to those like `Literal::i8_unsuffixed` where /// This constructor is similar to those like `Literal::i8_unsuffixed` where
/// the float's value is emitted directly into the token but no suffix is /// the float's value is emitted directly into the token but no suffix is
/// used, so it may be inferred to be a `f64` later in the compiler. /// used, so it may be inferred to be a `f64` later in the compiler.
/// Literals created from negative numbers may not survive rountrips through /// Literals created from negative numbers might not survive rountrips through
/// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal). /// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal).
/// ///
/// # Panics /// # Panics
@ -1106,7 +1106,7 @@ impl Literal {
/// specified is the preceding part of the token and `f64` is the suffix of /// specified is the preceding part of the token and `f64` is the suffix of
/// the token. This token will always be inferred to be an `f64` in the /// the token. This token will always be inferred to be an `f64` in the
/// compiler. /// compiler.
/// Literals created from negative numbers may not survive rountrips through /// Literals created from negative numbers might not survive rountrips through
/// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal). /// `TokenStream` or strings and may be broken into two tokens (`-` and positive literal).
/// ///
/// # Panics /// # Panics

View File

@ -35,13 +35,13 @@
//! `BacktraceStatus` enum as a result of `Backtrace::status`. //! `BacktraceStatus` enum as a result of `Backtrace::status`.
//! //!
//! Like above with accuracy platform support is done on a best effort basis. //! Like above with accuracy platform support is done on a best effort basis.
//! Sometimes libraries may not be available at runtime or something may go //! Sometimes libraries might not be available at runtime or something may go
//! wrong which would cause a backtrace to not be captured. Please feel free to //! wrong which would cause a backtrace to not be captured. Please feel free to
//! report issues with platforms where a backtrace cannot be captured though! //! report issues with platforms where a backtrace cannot be captured though!
//! //!
//! ## Environment Variables //! ## Environment Variables
//! //!
//! The `Backtrace::capture` function may not actually capture a backtrace by //! The `Backtrace::capture` function might not actually capture a backtrace by
//! default. Its behavior is governed by two environment variables: //! default. Its behavior is governed by two environment variables:
//! //!
//! * `RUST_LIB_BACKTRACE` - if this is set to `0` then `Backtrace::capture` //! * `RUST_LIB_BACKTRACE` - if this is set to `0` then `Backtrace::capture`
@ -61,7 +61,7 @@
//! Note that the `Backtrace::force_capture` function can be used to ignore //! Note that the `Backtrace::force_capture` function can be used to ignore
//! these environment variables. Also note that the state of environment //! these environment variables. Also note that the state of environment
//! variables is cached once the first backtrace is created, so altering //! variables is cached once the first backtrace is created, so altering
//! `RUST_LIB_BACKTRACE` or `RUST_BACKTRACE` at runtime may not actually change //! `RUST_LIB_BACKTRACE` or `RUST_BACKTRACE` at runtime might not actually change
//! how backtraces are captured. //! how backtraces are captured.
#![unstable(feature = "backtrace", issue = "53487")] #![unstable(feature = "backtrace", issue = "53487")]

View File

@ -682,7 +682,7 @@ pub fn current_exe() -> io::Result<PathBuf> {
/// for more. /// for more.
/// ///
/// The first element is traditionally the path of the executable, but it can be /// The first element is traditionally the path of the executable, but it can be
/// set to arbitrary text, and may not even exist. This means this property /// set to arbitrary text, and might not even exist. This means this property
/// should not be relied upon for security purposes. /// should not be relied upon for security purposes.
/// ///
/// [`env::args()`]: args /// [`env::args()`]: args
@ -698,7 +698,7 @@ pub struct Args {
/// for more. /// for more.
/// ///
/// The first element is traditionally the path of the executable, but it can be /// The first element is traditionally the path of the executable, but it can be
/// set to arbitrary text, and may not even exist. This means this property /// set to arbitrary text, and might not even exist. This means this property
/// should not be relied upon for security purposes. /// should not be relied upon for security purposes.
/// ///
/// [`env::args_os()`]: args_os /// [`env::args_os()`]: args_os
@ -711,7 +711,7 @@ pub struct ArgsOs {
/// via the command line). /// via the command line).
/// ///
/// The first element is traditionally the path of the executable, but it can be /// The first element is traditionally the path of the executable, but it can be
/// set to arbitrary text, and may not even exist. This means this property should /// set to arbitrary text, and might not even exist. This means this property should
/// not be relied upon for security purposes. /// not be relied upon for security purposes.
/// ///
/// On Unix systems the shell usually expands unquoted arguments with glob patterns /// On Unix systems the shell usually expands unquoted arguments with glob patterns
@ -748,7 +748,7 @@ pub fn args() -> Args {
/// via the command line). /// via the command line).
/// ///
/// The first element is traditionally the path of the executable, but it can be /// The first element is traditionally the path of the executable, but it can be
/// set to arbitrary text, and may not even exist. This means this property should /// set to arbitrary text, and might not even exist. This means this property should
/// not be relied upon for security purposes. /// not be relied upon for security purposes.
/// ///
/// On Unix systems the shell usually expands unquoted arguments with glob patterns /// On Unix systems the shell usually expands unquoted arguments with glob patterns

View File

@ -409,7 +409,7 @@ impl f32 {
/// Returns the logarithm of the number with respect to an arbitrary base. /// Returns the logarithm of the number with respect to an arbitrary base.
/// ///
/// The result may not be correctly rounded owing to implementation details; /// The result might not be correctly rounded owing to implementation details;
/// `self.log2()` can produce more accurate results for base 2, and /// `self.log2()` can produce more accurate results for base 2, and
/// `self.log10()` can produce more accurate results for base 10. /// `self.log10()` can produce more accurate results for base 10.
/// ///

View File

@ -409,7 +409,7 @@ impl f64 {
/// Returns the logarithm of the number with respect to an arbitrary base. /// Returns the logarithm of the number with respect to an arbitrary base.
/// ///
/// The result may not be correctly rounded owing to implementation details; /// The result might not be correctly rounded owing to implementation details;
/// `self.log2()` can produce more accurate results for base 2, and /// `self.log2()` can produce more accurate results for base 2, and
/// `self.log10()` can produce more accurate results for base 10. /// `self.log10()` can produce more accurate results for base 10.
/// ///

View File

@ -419,7 +419,7 @@ impl File {
self.inner.fsync() self.inner.fsync()
} }
/// This function is similar to [`sync_all`], except that it may not /// This function is similar to [`sync_all`], except that it might not
/// synchronize file metadata to the filesystem. /// synchronize file metadata to the filesystem.
/// ///
/// This is intended for use cases that must synchronize content, but don't /// This is intended for use cases that must synchronize content, but don't
@ -1081,7 +1081,7 @@ impl Metadata {
/// ///
/// # Errors /// # Errors
/// ///
/// This field may not be available on all platforms, and will return an /// This field might not be available on all platforms, and will return an
/// `Err` on platforms where it is not available. /// `Err` on platforms where it is not available.
/// ///
/// # Examples /// # Examples
@ -1116,7 +1116,7 @@ impl Metadata {
/// ///
/// # Errors /// # Errors
/// ///
/// This field may not be available on all platforms, and will return an /// This field might not be available on all platforms, and will return an
/// `Err` on platforms where it is not available. /// `Err` on platforms where it is not available.
/// ///
/// # Examples /// # Examples
@ -1148,7 +1148,7 @@ impl Metadata {
/// ///
/// # Errors /// # Errors
/// ///
/// This field may not be available on all platforms, and will return an /// This field might not be available on all platforms, and will return an
/// `Err` on platforms or filesystems where it is not available. /// `Err` on platforms or filesystems where it is not available.
/// ///
/// # Examples /// # Examples

View File

@ -824,7 +824,7 @@ fn symlink_noexist() {
}; };
// Use a relative path for testing. Symlinks get normalized by Windows, // Use a relative path for testing. Symlinks get normalized by Windows,
// so we may not get the same path back for absolute paths // so we might not get the same path back for absolute paths
check!(symlink_file(&"foo", &tmpdir.join("bar"))); check!(symlink_file(&"foo", &tmpdir.join("bar")));
assert_eq!(check!(fs::read_link(&tmpdir.join("bar"))).to_str().unwrap(), "foo"); assert_eq!(check!(fs::read_link(&tmpdir.join("bar"))).to_str().unwrap(), "foo");
} }

View File

@ -555,7 +555,7 @@ pub trait Read {
/// contents of `buf` being true. It is recommended that *implementations* /// contents of `buf` being true. It is recommended that *implementations*
/// only write data to `buf` instead of reading its contents. /// only write data to `buf` instead of reading its contents.
/// ///
/// Correspondingly, however, *callers* of this method may not assume any guarantees /// Correspondingly, however, *callers* of this method must not assume any guarantees
/// about how the implementation uses `buf`. The trait is safe to implement, /// about how the implementation uses `buf`. The trait is safe to implement,
/// so it is possible that the code that's supposed to write to the buffer might also read /// so it is possible that the code that's supposed to write to the buffer might also read
/// from it. It is your responsibility to make sure that `buf` is initialized /// from it. It is your responsibility to make sure that `buf` is initialized
@ -1369,7 +1369,7 @@ pub trait Write {
/// Write a buffer into this writer, returning how many bytes were written. /// Write a buffer into this writer, returning how many bytes were written.
/// ///
/// This function will attempt to write the entire contents of `buf`, but /// This function will attempt to write the entire contents of `buf`, but
/// the entire write may not succeed, or the write may also generate an /// the entire write might not succeed, or the write may also generate an
/// error. A call to `write` represents *at most one* attempt to write to /// error. A call to `write` represents *at most one* attempt to write to
/// any wrapped object. /// any wrapped object.
/// ///

View File

@ -874,7 +874,7 @@ pub trait ToSocketAddrs {
/// Converts this object to an iterator of resolved `SocketAddr`s. /// Converts this object to an iterator of resolved `SocketAddr`s.
/// ///
/// The returned iterator may not actually yield any values depending on the /// The returned iterator might not actually yield any values depending on the
/// outcome of any resolution performed. /// outcome of any resolution performed.
/// ///
/// Note that this function may block the current thread while resolution is /// Note that this function may block the current thread while resolution is

View File

@ -408,7 +408,7 @@ impl UdpSocket {
/// Sets the value of the `IP_MULTICAST_LOOP` option for this socket. /// Sets the value of the `IP_MULTICAST_LOOP` option for this socket.
/// ///
/// If enabled, multicast packets will be looped back to the local socket. /// If enabled, multicast packets will be looped back to the local socket.
/// Note that this may not have any effect on IPv6 sockets. /// Note that this might not have any effect on IPv6 sockets.
/// ///
/// # Examples /// # Examples
/// ///
@ -447,7 +447,7 @@ impl UdpSocket {
/// this socket. The default value is 1 which means that multicast packets /// this socket. The default value is 1 which means that multicast packets
/// don't leave the local network unless explicitly requested. /// don't leave the local network unless explicitly requested.
/// ///
/// Note that this may not have any effect on IPv6 sockets. /// Note that this might not have any effect on IPv6 sockets.
/// ///
/// # Examples /// # Examples
/// ///
@ -483,7 +483,7 @@ impl UdpSocket {
/// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket. /// Sets the value of the `IPV6_MULTICAST_LOOP` option for this socket.
/// ///
/// Controls whether this socket sees the multicast packets it sends itself. /// Controls whether this socket sees the multicast packets it sends itself.
/// Note that this may not have any affect on IPv4 sockets. /// Note that this might not have any affect on IPv4 sockets.
/// ///
/// # Examples /// # Examples
/// ///

View File

@ -31,7 +31,7 @@ pub(super) unsafe fn sockaddr_un(path: &Path) -> io::Result<(libc::sockaddr_un,
if bytes.contains(&0) { if bytes.contains(&0) {
return Err(io::Error::new_const( return Err(io::Error::new_const(
io::ErrorKind::InvalidInput, io::ErrorKind::InvalidInput,
&"paths may not contain interior null bytes", &"paths must not contain interior null bytes",
)); ));
} }

View File

@ -83,7 +83,7 @@ pub trait CommandExt: Sealed {
/// ///
/// When this closure is run, aspects such as the stdio file descriptors and /// When this closure is run, aspects such as the stdio file descriptors and
/// working directory have successfully been changed, so output to these /// working directory have successfully been changed, so output to these
/// locations may not appear where intended. /// locations might not appear where intended.
/// ///
/// [POSIX fork() specification]: /// [POSIX fork() specification]:
/// https://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html /// https://pubs.opengroup.org/onlinepubs/9699919799/functions/fork.html

View File

@ -163,7 +163,7 @@ pub auto trait RefUnwindSafe {}
/// When using [`catch_unwind`] it may be the case that some of the closed over /// When using [`catch_unwind`] it may be the case that some of the closed over
/// variables are not unwind safe. For example if `&mut T` is captured the /// variables are not unwind safe. For example if `&mut T` is captured the
/// compiler will generate a warning indicating that it is not unwind safe. It /// compiler will generate a warning indicating that it is not unwind safe. It
/// may not be the case, however, that this is actually a problem due to the /// might not be the case, however, that this is actually a problem due to the
/// specific usage of [`catch_unwind`] if unwind safety is specifically taken into /// specific usage of [`catch_unwind`] if unwind safety is specifically taken into
/// account. This wrapper struct is useful for a quick and lightweight /// account. This wrapper struct is useful for a quick and lightweight
/// annotation that a variable is indeed unwind safe. /// annotation that a variable is indeed unwind safe.
@ -406,7 +406,7 @@ impl<S: Stream> Stream for AssertUnwindSafe<S> {
/// ///
/// # Notes /// # Notes
/// ///
/// Note that this function **may not catch all panics** in Rust. A panic in /// Note that this function **might not catch all panics** in Rust. A panic in
/// Rust is not always implemented via unwinding, but can be implemented by /// Rust is not always implemented via unwinding, but can be implemented by
/// aborting the process as well. This function *only* catches unwinding panics, /// aborting the process as well. This function *only* catches unwinding panics,
/// not those that abort the process. /// not those that abort the process.

View File

@ -303,7 +303,7 @@ mod prim_never {}
/// ///
/// [`String`]: string/struct.String.html /// [`String`]: string/struct.String.html
/// ///
/// As always, remember that a human intuition for 'character' may not map to /// As always, remember that a human intuition for 'character' might not map to
/// Unicode's definitions. For example, despite looking similar, the 'é' /// Unicode's definitions. For example, despite looking similar, the 'é'
/// character is one Unicode code point while 'é' is two Unicode code points: /// character is one Unicode code point while 'é' is two Unicode code points:
/// ///

View File

@ -254,7 +254,7 @@ impl Condvar {
/// except that the thread will be blocked for roughly no longer /// except that the thread will be blocked for roughly no longer
/// than `ms` milliseconds. This method should not be used for /// than `ms` milliseconds. This method should not be used for
/// precise timing due to anomalies such as preemption or platform /// precise timing due to anomalies such as preemption or platform
/// differences that may not cause the maximum amount of time /// differences that might not cause the maximum amount of time
/// waited to be precisely `ms`. /// waited to be precisely `ms`.
/// ///
/// Note that the best effort is made to ensure that the time waited is /// Note that the best effort is made to ensure that the time waited is
@ -317,7 +317,7 @@ impl Condvar {
/// The semantics of this function are equivalent to [`wait`] except that /// The semantics of this function are equivalent to [`wait`] except that
/// the thread will be blocked for roughly no longer than `dur`. This /// the thread will be blocked for roughly no longer than `dur`. This
/// method should not be used for precise timing due to anomalies such as /// method should not be used for precise timing due to anomalies such as
/// preemption or platform differences that may not cause the maximum /// preemption or platform differences that might not cause the maximum
/// amount of time waited to be precisely `dur`. /// amount of time waited to be precisely `dur`.
/// ///
/// Note that the best effort is made to ensure that the time waited is /// Note that the best effort is made to ensure that the time waited is
@ -392,7 +392,7 @@ impl Condvar {
/// The semantics of this function are equivalent to [`wait_while`] except /// The semantics of this function are equivalent to [`wait_while`] except
/// that the thread will be blocked for roughly no longer than `dur`. This /// that the thread will be blocked for roughly no longer than `dur`. This
/// method should not be used for precise timing due to anomalies such as /// method should not be used for precise timing due to anomalies such as
/// preemption or platform differences that may not cause the maximum /// preemption or platform differences that might not cause the maximum
/// amount of time waited to be precisely `dur`. /// amount of time waited to be precisely `dur`.
/// ///
/// Note that the best effort is made to ensure that the time waited is /// Note that the best effort is made to ensure that the time waited is

View File

@ -6,7 +6,7 @@
//! //!
//! Note that the current implementation of this queue has a caveat of the `pop` //! Note that the current implementation of this queue has a caveat of the `pop`
//! method, and see the method for more information about it. Due to this //! method, and see the method for more information about it. Due to this
//! caveat, this queue may not be appropriate for all use-cases. //! caveat, this queue might not be appropriate for all use-cases.
// https://www.1024cores.net/home/lock-free-algorithms // https://www.1024cores.net/home/lock-free-algorithms
// /queues/non-intrusive-mpsc-node-based-queue // /queues/non-intrusive-mpsc-node-based-queue

View File

@ -339,7 +339,7 @@ impl<T> Packet<T> {
// At this point in time, we have gated all future senders from sending, // At this point in time, we have gated all future senders from sending,
// and we have flagged the channel as being disconnected. The senders // and we have flagged the channel as being disconnected. The senders
// still have some responsibility, however, because some sends may not // still have some responsibility, however, because some sends might not
// complete until after we flag the disconnection. There are more // complete until after we flag the disconnection. There are more
// details in the sending methods that see DISCONNECTED // details in the sending methods that see DISCONNECTED
} }
@ -370,7 +370,7 @@ impl<T> Packet<T> {
// at all. // at all.
// //
// Hence, because of these invariants, we immediately return `Ok(true)`. // Hence, because of these invariants, we immediately return `Ok(true)`.
// Note that the data may not actually be sent on the channel just yet. // Note that the data might not actually be sent on the channel just yet.
// The other end could have flagged the upgrade but not sent data to // The other end could have flagged the upgrade but not sent data to
// this end. This is fine because we know it's a small bounded windows // this end. This is fine because we know it's a small bounded windows
// of time until the data is actually sent. // of time until the data is actually sent.

View File

@ -198,7 +198,7 @@ impl Once {
/// routine is currently running. /// routine is currently running.
/// ///
/// When this function returns, it is guaranteed that some initialization /// When this function returns, it is guaranteed that some initialization
/// has run and completed (it may not be the closure specified). It is also /// has run and completed (it might not be the closure specified). It is also
/// guaranteed that any memory writes performed by the executed closure can /// guaranteed that any memory writes performed by the executed closure can
/// be reliably observed by other threads at this point (there is a /// be reliably observed by other threads at this point (there is a
/// happens-before relation between the closure and code executing after the /// happens-before relation between the closure and code executing after the

View File

@ -120,7 +120,7 @@ pub type LockResult<Guard> = Result<Guard, PoisonError<Guard>>;
/// A type alias for the result of a nonblocking locking method. /// A type alias for the result of a nonblocking locking method.
/// ///
/// For more information, see [`LockResult`]. A `TryLockResult` doesn't /// For more information, see [`LockResult`]. A `TryLockResult` doesn't
/// necessarily hold the associated guard in the [`Err`] type as the lock may not /// necessarily hold the associated guard in the [`Err`] type as the lock might not
/// have been acquired for other reasons. /// have been acquired for other reasons.
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
pub type TryLockResult<Guard> = Result<Guard, TryLockError<Guard>>; pub type TryLockResult<Guard> = Result<Guard, TryLockError<Guard>>;

View File

@ -1,6 +1,6 @@
//! System Mutexes //! System Mutexes
//! //!
//! The Windows implementation of mutexes is a little odd and it may not be //! The Windows implementation of mutexes is a little odd and it might not be
//! immediately obvious what's going on. The primary oddness is that SRWLock is //! immediately obvious what's going on. The primary oddness is that SRWLock is
//! used instead of CriticalSection, and this is done because: //! used instead of CriticalSection, and this is done because:
//! //!

View File

@ -169,7 +169,7 @@ impl io::Read for Stdin {
// We assume that if the last `u16` is an unpaired surrogate they got sliced apart by our // We assume that if the last `u16` is an unpaired surrogate they got sliced apart by our
// buffer size, and keep it around for the next read hoping to put them together. // buffer size, and keep it around for the next read hoping to put them together.
// This is a best effort, and may not work if we are not the only reader on Stdin. // This is a best effort, and might not work if we are not the only reader on Stdin.
fn read_u16s_fixup_surrogates( fn read_u16s_fixup_surrogates(
handle: c::HANDLE, handle: c::HANDLE,
buf: &mut [u16], buf: &mut [u16],

View File

@ -906,7 +906,7 @@ pub fn park() {
/// The semantics of this function are equivalent to [`park`] except /// The semantics of this function are equivalent to [`park`] except
/// that the thread will be blocked for roughly no longer than `dur`. This /// that the thread will be blocked for roughly no longer than `dur`. This
/// method should not be used for precise timing due to anomalies such as /// method should not be used for precise timing due to anomalies such as
/// preemption or platform differences that may not cause the maximum /// preemption or platform differences that might not cause the maximum
/// amount of time waited to be precisely `ms` long. /// amount of time waited to be precisely `ms` long.
/// ///
/// See the [park documentation][`park`] for more detail. /// See the [park documentation][`park`] for more detail.
@ -922,7 +922,7 @@ pub fn park_timeout_ms(ms: u32) {
/// The semantics of this function are equivalent to [`park`][park] except /// The semantics of this function are equivalent to [`park`][park] except
/// that the thread will be blocked for roughly no longer than `dur`. This /// that the thread will be blocked for roughly no longer than `dur`. This
/// method should not be used for precise timing due to anomalies such as /// method should not be used for precise timing due to anomalies such as
/// preemption or platform differences that may not cause the maximum /// preemption or platform differences that might not cause the maximum
/// amount of time waited to be precisely `dur` long. /// amount of time waited to be precisely `dur` long.
/// ///
/// See the [park documentation][park] for more details. /// See the [park documentation][park] for more details.

View File

@ -34,7 +34,7 @@ pub use core::time::Duration;
/// benchmarks or timing how long an operation takes. /// benchmarks or timing how long an operation takes.
/// ///
/// Note, however, that instants are not guaranteed to be **steady**. In other /// Note, however, that instants are not guaranteed to be **steady**. In other
/// words, each tick of the underlying clock may not be the same length (e.g. /// words, each tick of the underlying clock might not be the same length (e.g.
/// some seconds may be longer than others). An instant may jump forwards or /// some seconds may be longer than others). An instant may jump forwards or
/// experience time dilation (slow down or speed up), but it will never go /// experience time dilation (slow down or speed up), but it will never go
/// backwards. /// backwards.
@ -485,7 +485,7 @@ impl SystemTime {
/// ///
/// This function may fail as the underlying system clock is susceptible to /// This function may fail as the underlying system clock is susceptible to
/// drift and updates (e.g., the system clock could go backwards), so this /// drift and updates (e.g., the system clock could go backwards), so this
/// function may not always succeed. If successful, [`Ok`]`(`[`Duration`]`)` is /// function might not always succeed. If successful, [`Ok`]`(`[`Duration`]`)` is
/// returned where the duration represents the amount of time elapsed from /// returned where the duration represents the amount of time elapsed from
/// this time measurement to the current time. /// this time measurement to the current time.
/// ///