Rollup merge of #89835 - jkugelman:must-use-expensive-computations, r=joshtriplett
Add #[must_use] to expensive computations The unifying theme for this commit is weak, admittedly. I put together a list of "expensive" functions when I originally proposed this whole effort, but nobody's cared about that criterion. Still, it's a decent way to bite off a not-too-big chunk of work. Given the grab bag nature of this commit, the messages I used vary quite a bit. I'm open to wording changes. For some reason clippy flagged four `BTreeSet` methods but didn't say boo about equivalent ones on `HashSet`. I stared at them for a while but I can't figure out the difference so I added the `HashSet` ones in. ```rust // Flagged by clippy. alloc::collections::btree_set::BTreeSet<T> fn difference<'a>(&'a self, other: &'a BTreeSet<T>) -> Difference<'a, T>; alloc::collections::btree_set::BTreeSet<T> fn symmetric_difference<'a>(&'a self, other: &'a BTreeSet<T>) -> SymmetricDifference<'a, T> alloc::collections::btree_set::BTreeSet<T> fn intersection<'a>(&'a self, other: &'a BTreeSet<T>) -> Intersection<'a, T>; alloc::collections::btree_set::BTreeSet<T> fn union<'a>(&'a self, other: &'a BTreeSet<T>) -> Union<'a, T>; // Ignored by clippy, but not by me. std::collections::HashSet<T, S> fn difference<'a>(&'a self, other: &'a HashSet<T, S>) -> Difference<'a, T, S>; std::collections::HashSet<T, S> fn symmetric_difference<'a>(&'a self, other: &'a HashSet<T, S>) -> SymmetricDifference<'a, T, S> std::collections::HashSet<T, S> fn intersection<'a>(&'a self, other: &'a HashSet<T, S>) -> Intersection<'a, T, S>; std::collections::HashSet<T, S> fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>; ``` Parent issue: #89692 r? ```@joshtriplett```
This commit is contained in:
commit
a26b1d2259
11 changed files with 32 additions and 1 deletions
|
@ -137,6 +137,8 @@ pub struct Range<'a, T: 'a> {
|
|||
/// See its documentation for more.
|
||||
///
|
||||
/// [`difference`]: BTreeSet::difference
|
||||
#[must_use = "this returns the difference as an iterator, \
|
||||
without modifying either input set"]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct Difference<'a, T: 'a> {
|
||||
inner: DifferenceInner<'a, T>,
|
||||
|
@ -169,6 +171,8 @@ impl<T: fmt::Debug> fmt::Debug for Difference<'_, T> {
|
|||
/// [`BTreeSet`]. See its documentation for more.
|
||||
///
|
||||
/// [`symmetric_difference`]: BTreeSet::symmetric_difference
|
||||
#[must_use = "this returns the difference as an iterator, \
|
||||
without modifying either input set"]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct SymmetricDifference<'a, T: 'a>(MergeIterInner<Iter<'a, T>>);
|
||||
|
||||
|
@ -185,6 +189,8 @@ impl<T: fmt::Debug> fmt::Debug for SymmetricDifference<'_, T> {
|
|||
/// See its documentation for more.
|
||||
///
|
||||
/// [`intersection`]: BTreeSet::intersection
|
||||
#[must_use = "this returns the intersection as an iterator, \
|
||||
without modifying either input set"]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct Intersection<'a, T: 'a> {
|
||||
inner: IntersectionInner<'a, T>,
|
||||
|
@ -217,6 +223,8 @@ impl<T: fmt::Debug> fmt::Debug for Intersection<'_, T> {
|
|||
/// See its documentation for more.
|
||||
///
|
||||
/// [`union`]: BTreeSet::union
|
||||
#[must_use = "this returns the union as an iterator, \
|
||||
without modifying either input set"]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub struct Union<'a, T: 'a>(MergeIterInner<Iter<'a, T>>);
|
||||
|
||||
|
|
|
@ -552,6 +552,7 @@ impl String {
|
|||
///
|
||||
/// assert_eq!("Hello <20>World", output);
|
||||
/// ```
|
||||
#[must_use]
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn from_utf8_lossy(v: &[u8]) -> Cow<'_, str> {
|
||||
|
@ -646,6 +647,7 @@ impl String {
|
|||
/// String::from_utf16_lossy(v));
|
||||
/// ```
|
||||
#[cfg(not(no_global_oom_handling))]
|
||||
#[must_use]
|
||||
#[inline]
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn from_utf16_lossy(v: &[u16]) -> String {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue