Skip to content

Commit b4bfc21

Browse files
authored
Rollup merge of rust-lang#129034 - henryksloan:coroutine-must-use, r=joboet
Add `#[must_use]` attribute to `Coroutine` trait [Coroutines tracking issue](rust-lang#43122) Like closures (`FnOnce`, `AsyncFn`, etc.), coroutines are lazy and do nothing unless called (resumed). Closure traits like `FnOnce` have `#[must_use = "closures are lazy and do nothing unless called"]` to catch likely bugs for users of APIs that produce them. This PR adds such a `#[must_use]` attribute to `trait Coroutine`.
2 parents b56fdcb + ac682f1 commit b4bfc21

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

Diff for: core/src/ops/coroutine.rs

+1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ pub enum CoroutineState<Y, R> {
6969
#[lang = "coroutine"]
7070
#[unstable(feature = "coroutine_trait", issue = "43122")]
7171
#[fundamental]
72+
#[must_use = "coroutines are lazy and do nothing unless resumed"]
7273
pub trait Coroutine<R = ()> {
7374
/// The type of value this coroutine yields.
7475
///

0 commit comments

Comments
 (0)