Skip to content

Commit b84a52c

Browse files
Add generator lang-item
1 parent ce182d1 commit b84a52c

File tree

3 files changed

+3
-0
lines changed

3 files changed

+3
-0
lines changed

compiler/rustc_hir/src/lang_items.rs

+1
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ language_item_table! {
268268
Future, sym::future_trait, future_trait, Target::Trait, GenericRequirement::Exact(0);
269269
GeneratorState, sym::generator_state, gen_state, Target::Enum, GenericRequirement::None;
270270
Generator, sym::generator, gen_trait, Target::Trait, GenericRequirement::Minimum(1);
271+
GeneratorReturn, sym::generator_return, generator_return, Target::AssocTy, GenericRequirement::None;
271272
Unpin, sym::unpin, unpin_trait, Target::Trait, GenericRequirement::None;
272273
Pin, sym::pin, pin_type, Target::Struct, GenericRequirement::None;
273274

compiler/rustc_span/src/symbol.rs

+1
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,7 @@ symbols! {
678678
gen_future,
679679
gen_kill,
680680
generator,
681+
generator_return,
681682
generator_state,
682683
generators,
683684
generic_arg_infer,

library/core/src/ops/generator.rs

+1
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ pub trait Generator<R = ()> {
8282
/// `return` statement or implicitly as the last expression of a generator
8383
/// literal. For example futures would use this as `Result<T, E>` as it
8484
/// represents a completed future.
85+
#[cfg_attr(not(bootstrap), lang = "generator_return")]
8586
type Return;
8687

8788
/// Resumes the execution of this generator.

0 commit comments

Comments
 (0)